.\"						Hey, EMACS: -*- nroff -*-
.\" First parameter, NAME, should be all caps
.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
.\" other parameters are allowed: see man(7), man(1)
.TH volume.reiser4 8 "16 Aug, 2020" reiser4progs "reiser4progs manual"
.\" Please adjust this date whenever revising the manpage.
.\"
.\" Some roff macros, for reference:
.\" .nh        disable hyphenation
.\" .hy        enable hyphenation
.\" .ad l      left justify
.\" .ad b      justify to both left and right margins
.\" .nf        disable filling
.\" .fi        enable filling
.\" .br        insert line break
.\" .sp <n>    insert n+1 empty lines
.\" for manpage-specific macros, see man(7)
.SH NAME
volume.reiser4 \- the program for managing reiser4 logical volumes.
.SH SYNOPSIS
.B volume.reiser4
[ options ] [ FILE ] [ MNT ]
.SH DESCRIPTION
.B volume.reiser4
is an utility to manage reiser4 logical (compound) volumes. It performs
operations on logical volumes like adding[removing] a brick to[from]
your volume, changing capacity of any brick of your volume, increasing
current upper limit on total number of bricks in your volume.
On-line options are applicable only to mounted volumes. Other options
don't have such restrictions. This program doesn't create initial volume.
Instead, it operates on bricks, which are formatted partitions. To
create a brick use mkfs.reiser4(8) utility. For more details see logical
volumes administration guide at
.nh
https://reiser4.wiki.kernel.org/index.php/Logical_Volumes_Administration
.hy
.SH COMMON OPTIONS
.TP
.B -V, --version
Prints program version.
.TP
.B -?, -h, --help
Prints program help.
.TP
.B -y, --yes
Assumes an answer 'yes' to all questions.
.SH OFF-LINE OPTIONS
.TP
.B -g, --register DEV
Register a brick associated with device DEV in the system.
.TP
.B -u, --unregister DEV
Unregister a brick associated with device DEV in the system.
.TP
.B -l, --list
Print list of all bricks registered in the system.
.SH ON-LINE OPTIONS
.TP
.B -p, --print N
Print information about a brick of serial number N in the volume mounted at MNT.
.TP
.B -b, --balance
Run a balancing procedure on a volume mounted at MNT.
.TP
.B -z, --resize DEV
Change data capacity of a brick associated with device DEV in the
volume mounted at MNT. The actual capacity has to be defined by the
option "-c (--capacity)".
.TP
.B -c, --capacity VALUE
Define new data capacity VALUE for a device specified by option
"-z (--resize)".
.TP
.B -a, --add DEV
Add a brick associated with device DEV to the volume mounted at MNT.
This operation makes the volume unbalanced. Using in conjunction with -B
(--with-balance) option, completes the operation with balancing.
.TP
.B -x, --add-proxy
Add a proxy brick associated with device DEV to the volume mounted at MNT.
.TP
.B -r, --remove
Remove a brick associated with device DEV from the volume mounted at MNT.
Automatically triggers balancing, which is considered as a part of the
removal operation. Being interrupted for some reasons, should be completed by
running the utility with the option -R (--finish-removal).
.TP
.B -q, --scale N
Increase 2^N times the upper limit for total number of bricks in the
volume mounted at MNT. This operation makes the volume unbalanced.
Using in conjunction with -B (--with-balance) option, completes the operation
with balancing.
.TP
.B -m, --migrate N
Move all data blocks of regular FILE to a brick of serial number N.
.TP
.B -i, --set-immobile
Set "immobile" property to regular FILE.
.TP
.B -e, --clear-immobile
Clear "immobile" property of regular FILE.
.TP
.B -B, --with-balance
Complete a volume operation with balancing procedure. Can be used only in
conjunction with options -a (--add), -z (--resize), -q (--scale).
.TP
.B -R, --finish-removal
Finish brick removal operation interrupted for various reasons.
.TP
.B -S, --restore-regular
Restore regular distribution on the volume mounted at MNT.
.sp 1
.SH Examples:
.sp 1
To create a volume, choose volume ID and stripe size. Then create a first
brick, that will be the meta-data brick of your volume:
.sp 1
VOL_ID=`uuidgen`
.sp 1
STRIPE=256K
.sp 1
mkfs.reiser4 -U $VOL_ID -t $STRIPE /dev/sdb1
.sp 1
To add a data brick to your initial volume, consisting of only one meta-data
brick, mount it e.g. at /mnt:
.sp 1
mount /dev/sdb1 /mnt
.sp 1
Choose a block device for your data brick (e.g. /dev/sdb2) and format it with
the same volume ID and stripe size:
.sp 1
mkfs.reiser4 -a -U $VOL_ID -t $STRIPE /dev/sdb2
.sp 1
Finally, using option "-a", add it to the volume:
.sp 1
volume.reiser4 -a /dev/sdb2 /mnt
.sp 1
After this, you might want to run balancing procedure on your volume. It will
distribute all your data among the bricks fairly, i.e. in a proportion with
bricks capacities. For this simply run the utility with the option -b (--balance):
.sp 1
volume.reiser4 -b /mnt
.sp 1
To remove a brick from your logical volume simply specify the block device that
the brick is associated with, using option "-r":
.sp 1
volume.reiser4 -r /dev/sdb2 /mnt
.sp 1
After successful removal completion your volume is always balanced.
If the operation of brick removal was interrupted for some reasons, then complete
the removal by running the utility with the option -R (--finish-removal):
.sp 1
volume.reiser4 -R /mnt
.RS
.SH REPORTING BUGS
Report bugs to <reiserfs-devel@vger.kernel.org>
.SH SEE ALSO
.BR mkfs.reiser4(8),
.BR debugfs.reiser4(8),
.br
Reiser4 logical volumes administration guide at
.nh
https://reiser4.wiki.kernel.org/index.php/Logical_Volumes_Administration
.hy
.SH AUTHOR
Written by Edward O. Shishkin
